package io.datajek.spring.basics.movierecommendersystem.lesson7;

import io.datajek.spring.basics.movierecommendersystem.lesson1.RecommenderImplementation;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.ApplicationContext;

import java.util.Arrays;

@SpringBootApplication
public class MovieRecommenderSystemApplication {

	public static void main(String[] args) {
		//ApplicationContext负责管理Bean和有依赖关系
		ApplicationContext appContext= SpringApplication.run(MovieRecommenderSystemApplication.class,args);
		//RecommenderImplementation使用构造函数注入依赖关系
		System.out.println("\n********");
		System.out.println("Calling getBean() on RecommenderImplementation");
		RecommenderImplementation recommender= new RecommenderImplementation();
		String[] result=recommender.recommendMovies("Finding Dory");
		System.out.println(Arrays.toString(result));

		//RecommenderImplementation2使用setter方法注入依赖关系
		System.out.println("\n********");
		System.out.println("Calling getBean() on RecommenderImplementation2");
		RecommenderImplementation2 recommender2= appContext.getBean(RecommenderImplementation2.class);
		result=recommender2.recommendMovies("Finding Dory");
		System.out.println(Arrays.toString(result));
	}

}
